Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

table: html row automerge support #319

Merged
merged 1 commit into from
May 4, 2024

Conversation

hindessm
Copy link
Contributor

@hindessm hindessm commented May 3, 2024

Proposed Changes

Support AutoMerge across row entries in HTML rendering mode.

Thanks for a great library.

@coveralls
Copy link

coveralls commented May 3, 2024

Pull Request Test Coverage Report for Build 8950284068

Details

  • 20 of 20 (100.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 8592698758: 0.0%
Covered Lines: 3555
Relevant Lines: 3555

💛 - Coveralls

Comment on lines 521 to 604
func TestTable_RenderHTML_RowAutoMerge(t *testing.T) {
rcAutoMerge := RowConfig{AutoMerge: true}
tw := NewWriter()
tw.AppendHeader(Row{"A", "B"})
tw.AppendRow(Row{"Y", "Y"}, rcAutoMerge)
tw.AppendRow(Row{"Y", "N"}, rcAutoMerge)
compareOutput(t, tw.RenderHTML(), `
<table class="go-pretty-table">
<thead>
<tr>
<th>A</th>
<th>B</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" colspan=2>Y</td>
</tr>
<tr>
<td>Y</td>
<td>N</td>
</tr>
</tbody>
</table>`)
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a test with a more complex use-case... with a couple of columns without any merge in the same row where a couple of columns are merged? Check the automerge test file for ideas?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. I've forced pushed with an extra test that hopefully covers enough alternative merge/non-merge options.

@jedib0t
Copy link
Owner

jedib0t commented May 4, 2024

I really appreciate your contribution. If you can add one more test with the above use-case, it will help assure its functionality for more than a simple use-case. Thanks!

@hindessm hindessm force-pushed the html-row-automerge branch from 33ba34e to 3cdbe59 Compare May 4, 2024 11:54
@hindessm hindessm force-pushed the html-row-automerge branch from 3cdbe59 to c5dd45c Compare May 4, 2024 11:57
Copy link

sonarqubecloud bot commented May 4, 2024

Quality Gate Passed Quality Gate passed

Issues
2 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@jedib0t jedib0t merged commit 5395a20 into jedib0t:main May 4, 2024
3 checks passed
@hindessm
Copy link
Contributor Author

hindessm commented May 4, 2024

Thanks.

@hindessm hindessm deleted the html-row-automerge branch May 4, 2024 14:04
@jedib0t
Copy link
Owner

jedib0t commented May 5, 2024

Hey @hindessm ... I've cut a new tag for you: https://github.com/jedib0t/go-pretty/releases/tag/v6.5.9

@hindessm
Copy link
Contributor Author

hindessm commented May 5, 2024

That's very kind of you. Thanks.

another-rex referenced this pull request in google/osv-scanner May 6, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [deps.dev/api/v3](https://togithub.com/google/deps.dev) |
`v3.0.0-20240411010756-f6f382da6e02` ->
`v3.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2fapi%2fv3/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2fapi%2fv3/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2fapi%2fv3/v3.0.0-20240411010756-f6f382da6e02/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2fapi%2fv3/v3.0.0-20240411010756-f6f382da6e02/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/maven](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fmaven/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fmaven/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fmaven/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fmaven/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/resolve](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fresolve/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fresolve/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fresolve/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fresolve/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/semver](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fsemver/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fsemver/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fsemver/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fsemver/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/charmbracelet/bubbletea](https://togithub.com/charmbracelet/bubbletea)
| `v0.25.0` -> `v0.26.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2fbubbletea/v0.25.0/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2fbubbletea/v0.25.0/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/gkampitakis/go-snaps](https://togithub.com/gkampitakis/go-snaps)
| `v0.5.3` -> `v0.5.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/jedib0t/go-pretty/v6](https://togithub.com/jedib0t/go-pretty)
| `v6.5.8` -> `v6.5.9` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/urfave/cli/v2](https://togithub.com/urfave/cli) |
`v2.27.1` -> `v2.27.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2furfave%2fcli%2fv2/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2furfave%2fcli%2fv2/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2furfave%2fcli%2fv2/v2.27.1/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2furfave%2fcli%2fv2/v2.27.1/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/term | `v0.19.0` -> `v0.20.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fterm/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fterm/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go)
| `v1.33.0` -> `v1.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.33.0/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.33.0/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charmbracelet/bubbletea
(github.com/charmbracelet/bubbletea)</summary>

###
[`v0.26.1`](https://togithub.com/charmbracelet/bubbletea/releases/tag/v0.26.1)

[Compare
Source](https://togithub.com/charmbracelet/bubbletea/compare/v0.26.0...v0.26.1)

This is a quick one to fix a Windows shortcoming in the last release
acutely identified by our pal
[@&#8203;jon4hz](https://togithub.com/jon4hz). Thank you!

#### What's Changed

- fix: support more shift and ctrl modifiers on windows by
[@&#8203;jon4hz](https://togithub.com/jon4hz) in
[https://github.com/charmbracelet/bubbletea/pull/995](https://togithub.com/charmbracelet/bubbletea/pull/995)

**Full Changelog**:
charmbracelet/bubbletea@v0.26.0...v0.26.1

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

###
[`v0.26.0`](https://togithub.com/charmbracelet/bubbletea/releases/tag/v0.26.0)

[Compare
Source](https://togithub.com/charmbracelet/bubbletea/compare/v0.25.0...v0.26.0)

### Bracketed Paste, Windows Improvements, Mainframes, and more

What do tapioca balls, IBM mainframes, and the Microsoft Windows Console
API have in common? Bubble Tea v0.26.0, that’s what. Let’s get to it.

#### ⚡️ Windows Input Improvements

A few years ago [@&#8203;erikgeiser](https://togithub.com/erikgeiser), a
penetration tester and ex-particle physicist, wrote this awesome library
called [coninput](https://togithub.com/erikgeiser/coninput) to majorly
improve Bubble Tea input on Windows.
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) has
implemented the library in Bubble Tea and input on Windows is roughly
1000 times better now. In the short term, this means that for Windows
users inputting non-Latin characters (like Greek, Cyrillic, Korean,
Chinese and so on) stuff will “just work.”

The bigger news, however, is that this paves the way for Windows parity
with our forthcoming support for super high fidelity input via [Kitty
Keyboard](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) and
[Fixterms](https://www.leonerd.org.uk/hacks/fixterms/).

#### 🍳 Hot Windows Resize Events

Terminal emulators on Windows don’t support the `SIGWINCH` signal, which
is sent when the terminal is resized. It’s been a huge bummer for a
really long time. Thanks (again) to
[@&#8203;erikgeiser](https://togithub.com/erikgeiser) and
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas), we’re now
able to reach deep into Windows’ underpinnings, detect window resizes,
and send
[`tea.WindowSizeMsg`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#WindowSizeMsg)s
accordingly! This is a glorious moment for Bubble Tea on Windows indeed.

#### 🫠 Bracketed Paste

While building a query editor for a CockroachDB client,
[@&#8203;knz](https://togithub.com/knz) noticed that Bubble Tea didn't
support [Bracketed Paste](https://cirw.in/blog/bracketed-paste).
Performance-wise, that sucks because it means pasting large bodies of
text (like SQL queries) will normally be seen as a bunch of little
successive keypresses. That’s where Bracketed Paste comes in. When
enabled at the terminal-level Bracketed Paste lets you slam down a bunch
of text with one big, fat input event.

Bubble Tea enables bracketed paste by default, however you can opt out
of it with the
[`WithoutBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#WithoutBracketedPaste)
program option:

```go
p := tea.NewProgram(myCuteModel, tea.WithoutBracketedPaste())
```

You can also enable and disable it on demand with the
[`EnableBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#EnableBracketedPaste)
and
[`DisableBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#DisableBracketedPaste)
commands.

#### 🌿 Multiline `tea.Println`

In case you forgot,
[`tea.Println`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#Println)
(and it’s brother
[`tea.Printf`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#Printf))
is a `Cmd` that lets you print unmanaged output above a Bubble Tea
program, similar to what you see with package managers like `apt-get`.
Thanks to
[@&#8203;Adjective-Object](https://togithub.com/Adjective-Object) (who
also implemented `tea.Println` in the first place) now you can send
multi-line output, too. For a `tea.Println` refresher see [the package
manager
example](https://togithub.com/charmbracelet/bubbletea/tree/master/examples/package-manager).

#### 📀 Hello, z/OS

Don’t you think it’s about time we all ran Bubble Tea apps on our
mainframes? Thanks to
[@&#8203;dustin-ward](https://togithub.com/dustin-ward) that dream is
now a reality, so long as you have a
[z/OS](https://www.ibm.com/products/zos) mainframe. We're thrilled to
announce that Bubble Tea is now fully supported on z/OS.

#### 🌹 Bug fixes

Bugfixes are the unsung heroes that sometimes get buried below the
feature listings. This release has them and they’re good ones; see the
changelog below for details.

#### Changelog

##### New!

- bracketed paste by [@&#8203;knz](https://togithub.com/knz) in
[https://github.com/charmbracelet/bubbletea/pull/397](https://togithub.com/charmbracelet/bubbletea/pull/397)
- use windows console input buffer + resize events on windows by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[https://github.com/charmbracelet/bubbletea/pull/878](https://togithub.com/charmbracelet/bubbletea/pull/878)
- multiline `tea.Println()` messages by
[@&#8203;Adjective-Object](https://togithub.com/Adjective-Object) in
[https://github.com/charmbracelet/bubbletea/pull/490](https://togithub.com/charmbracelet/bubbletea/pull/490)
- z/OS support by
[@&#8203;dustin-ward](https://togithub.com/dustin-ward) in
[https://github.com/charmbracelet/bubbletea/pull/913](https://togithub.com/charmbracelet/bubbletea/pull/913)

##### Changed

- use go 1.18; update bubbles by
[@&#8203;caarlos0](https://togithub.com/caarlos0) in
[https://github.com/charmbracelet/bubbletea/pull/916](https://togithub.com/charmbracelet/bubbletea/pull/916)

##### Fixed

- fix deadlock condition on model init panic by
[@&#8203;eolso](https://togithub.com/eolso) in
[https://github.com/charmbracelet/bubbletea/pull/926](https://togithub.com/charmbracelet/bubbletea/pull/926)
- reduce console/term dependencies by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[https://github.com/charmbracelet/bubbletea/pull/897](https://togithub.com/charmbracelet/bubbletea/pull/897)
- optimize batches with one item by
[@&#8203;systay](https://togithub.com/systay) in
[https://github.com/charmbracelet/bubbletea/pull/875](https://togithub.com/charmbracelet/bubbletea/pull/875)

##### New Contributors

- [@&#8203;kevgo](https://togithub.com/kevgo) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/893](https://togithub.com/charmbracelet/bubbletea/pull/893)
- [@&#8203;canack](https://togithub.com/canack) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/890](https://togithub.com/charmbracelet/bubbletea/pull/890)
- [@&#8203;Pheon-Dev](https://togithub.com/Pheon-Dev) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/621](https://togithub.com/charmbracelet/bubbletea/pull/621)
- [@&#8203;rusinikita](https://togithub.com/rusinikita) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/835](https://togithub.com/charmbracelet/bubbletea/pull/835)
- [@&#8203;hedhyw](https://togithub.com/hedhyw) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/864](https://togithub.com/charmbracelet/bubbletea/pull/864)
- [@&#8203;mat2cc](https://togithub.com/mat2cc) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/871](https://togithub.com/charmbracelet/bubbletea/pull/871)
- [@&#8203;stefanlogue](https://togithub.com/stefanlogue) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/855](https://togithub.com/charmbracelet/bubbletea/pull/855)
- [@&#8203;BigJk](https://togithub.com/BigJk) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/885](https://togithub.com/charmbracelet/bubbletea/pull/885)
- [@&#8203;sharunkumar](https://togithub.com/sharunkumar) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/839](https://togithub.com/charmbracelet/bubbletea/pull/839)
- [@&#8203;timmattison](https://togithub.com/timmattison) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/908](https://togithub.com/charmbracelet/bubbletea/pull/908)
- [@&#8203;dustin-ward](https://togithub.com/dustin-ward) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/913](https://togithub.com/charmbracelet/bubbletea/pull/913)
- [@&#8203;jaymorelli96](https://togithub.com/jaymorelli96) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/802](https://togithub.com/charmbracelet/bubbletea/pull/802)
- [@&#8203;siddhantac](https://togithub.com/siddhantac) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/906](https://togithub.com/charmbracelet/bubbletea/pull/906)
- [@&#8203;taigrr](https://togithub.com/taigrr) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/853](https://togithub.com/charmbracelet/bubbletea/pull/853)
- [@&#8203;systay](https://togithub.com/systay) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/875](https://togithub.com/charmbracelet/bubbletea/pull/875)
- [@&#8203;gabe565](https://togithub.com/gabe565) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/728](https://togithub.com/charmbracelet/bubbletea/pull/728)
- [@&#8203;zMoooooritz](https://togithub.com/zMoooooritz) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/902](https://togithub.com/charmbracelet/bubbletea/pull/902)
- [@&#8203;j178](https://togithub.com/j178) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/709](https://togithub.com/charmbracelet/bubbletea/pull/709)
- [@&#8203;arisnacg](https://togithub.com/arisnacg) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/948](https://togithub.com/charmbracelet/bubbletea/pull/948)
- [@&#8203;braheezy](https://togithub.com/braheezy) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/950](https://togithub.com/charmbracelet/bubbletea/pull/950)
- [@&#8203;dhth](https://togithub.com/dhth) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/949](https://togithub.com/charmbracelet/bubbletea/pull/949)
- [@&#8203;tearingItUp786](https://togithub.com/tearingItUp786) made
their first contribution in
[https://github.com/charmbracelet/bubbletea/pull/944](https://togithub.com/charmbracelet/bubbletea/pull/944)
- [@&#8203;aschey](https://togithub.com/aschey) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/597](https://togithub.com/charmbracelet/bubbletea/pull/597)
- [@&#8203;petergloor](https://togithub.com/petergloor) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/955](https://togithub.com/charmbracelet/bubbletea/pull/955)
- [@&#8203;kaifulee](https://togithub.com/kaifulee) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/957](https://togithub.com/charmbracelet/bubbletea/pull/957)
- [@&#8203;danenania](https://togithub.com/danenania) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/971](https://togithub.com/charmbracelet/bubbletea/pull/971)
- [@&#8203;cuibuwei](https://togithub.com/cuibuwei) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/977](https://togithub.com/charmbracelet/bubbletea/pull/977)
- [@&#8203;agvxov](https://togithub.com/agvxov) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/972](https://togithub.com/charmbracelet/bubbletea/pull/972)
- [@&#8203;eolso](https://togithub.com/eolso) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/926](https://togithub.com/charmbracelet/bubbletea/pull/926)

**Full Changelog**:
charmbracelet/bubbletea@v0.25.0...v0.25.1

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

</details>

<details>
<summary>gkampitakis/go-snaps
(github.com/gkampitakis/go-snaps)</summary>

###
[`v0.5.4`](https://togithub.com/gkampitakis/go-snaps/releases/tag/v0.5.4)

[Compare
Source](https://togithub.com/gkampitakis/go-snaps/compare/v0.5.3...v0.5.4)

#### What's Changed

- fix: slice bounds out of range \[:5] by
[@&#8203;zregvart](https://togithub.com/zregvart) in
[https://github.com/gkampitakis/go-snaps/pull/98](https://togithub.com/gkampitakis/go-snaps/pull/98)

#### New Contributors

- [@&#8203;zregvart](https://togithub.com/zregvart) made their first
contribution in
[https://github.com/gkampitakis/go-snaps/pull/98](https://togithub.com/gkampitakis/go-snaps/pull/98)

**Full Changelog**:
gkampitakis/go-snaps@v0.5.3...v0.5.4

</details>

<details>
<summary>jedib0t/go-pretty (github.com/jedib0t/go-pretty/v6)</summary>

###
[`v6.5.9`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.9)

[Compare
Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.8...v6.5.9)

#### What's Changed

- table: html row automerge support by
[@&#8203;hindessm](https://togithub.com/hindessm) in
[https://github.com/jedib0t/go-pretty/pull/319](https://togithub.com/jedib0t/go-pretty/pull/319)
- table: update note about auto-merge by
[@&#8203;hindessm](https://togithub.com/hindessm) in
[https://github.com/jedib0t/go-pretty/pull/320](https://togithub.com/jedib0t/go-pretty/pull/320)

#### New Contributors

- [@&#8203;hindessm](https://togithub.com/hindessm) made their first
contribution in
[https://github.com/jedib0t/go-pretty/pull/319](https://togithub.com/jedib0t/go-pretty/pull/319)

**Full Changelog**:
jedib0t/go-pretty@v6.5.8...v6.5.9

</details>

<details>
<summary>urfave/cli (github.com/urfave/cli/v2)</summary>

### [`v2.27.2`](https://togithub.com/urfave/cli/releases/tag/v2.27.2)

[Compare
Source](https://togithub.com/urfave/cli/compare/v2.27.1...v2.27.2)

#### What's Changed

- Cleanup: Remove unnecessary intermediate variables by
[@&#8203;1ambd4](https://togithub.com/1ambd4) in
[https://github.com/urfave/cli/pull/1857](https://togithub.com/urfave/cli/pull/1857)
- Docs:(issue\_1866) Fix documentation on filepath vs env preference by
[@&#8203;dearchap](https://togithub.com/dearchap) in
[https://github.com/urfave/cli/pull/1867](https://togithub.com/urfave/cli/pull/1867)
- Fix:(issue\_1860) Remove hidden flags from flag categories by
[@&#8203;dearchap](https://togithub.com/dearchap) in
[https://github.com/urfave/cli/pull/1868](https://togithub.com/urfave/cli/pull/1868)
- Fix repeated \[arguments...] in usage template in v2 by
[@&#8203;edeustua](https://togithub.com/edeustua) in
[https://github.com/urfave/cli/pull/1872](https://togithub.com/urfave/cli/pull/1872)
- Update dependencies, actions steps, and usage for v2-maint by
[@&#8203;meatballhat](https://togithub.com/meatballhat) in
[https://github.com/urfave/cli/pull/1888](https://togithub.com/urfave/cli/pull/1888)

#### New Contributors

- [@&#8203;1ambd4](https://togithub.com/1ambd4) made their first
contribution in
[https://github.com/urfave/cli/pull/1857](https://togithub.com/urfave/cli/pull/1857)
- [@&#8203;edeustua](https://togithub.com/edeustua) made their first
contribution in
[https://github.com/urfave/cli/pull/1872](https://togithub.com/urfave/cli/pull/1872)

**Full Changelog**:
urfave/cli@v2.27.1...v2.27.2

</details>

<details>
<summary>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>

###
[`v1.34.0`](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.33.0...v1.34.0)

[Compare
Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.33.0...v1.34.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on monday" in timezone
Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/google/osv-scanner).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM0MC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
josieang referenced this pull request in josieang/osv-scanner Jun 6, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [deps.dev/api/v3](https://togithub.com/google/deps.dev) |
`v3.0.0-20240411010756-f6f382da6e02` ->
`v3.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2fapi%2fv3/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2fapi%2fv3/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2fapi%2fv3/v3.0.0-20240411010756-f6f382da6e02/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2fapi%2fv3/v3.0.0-20240411010756-f6f382da6e02/v3.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/maven](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fmaven/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fmaven/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fmaven/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fmaven/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/resolve](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fresolve/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fresolve/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fresolve/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fresolve/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [deps.dev/util/semver](https://togithub.com/google/deps.dev) |
`v0.0.0-20240411010756-f6f382da6e02` ->
`v0.0.0-20240503042720-6166138ce783` |
[![age](https://developer.mend.io/api/mc/badges/age/go/deps.dev%2futil%2fsemver/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/deps.dev%2futil%2fsemver/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/deps.dev%2futil%2fsemver/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/deps.dev%2futil%2fsemver/v0.0.0-20240411010756-f6f382da6e02/v0.0.0-20240503042720-6166138ce783?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/charmbracelet/bubbletea](https://togithub.com/charmbracelet/bubbletea)
| `v0.25.0` -> `v0.26.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcharmbracelet%2fbubbletea/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcharmbracelet%2fbubbletea/v0.25.0/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcharmbracelet%2fbubbletea/v0.25.0/v0.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/gkampitakis/go-snaps](https://togithub.com/gkampitakis/go-snaps)
| `v0.5.3` -> `v0.5.4` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3/v0.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/jedib0t/go-pretty/v6](https://togithub.com/jedib0t/go-pretty)
| `v6.5.8` -> `v6.5.9` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8/v6.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/urfave/cli/v2](https://togithub.com/urfave/cli) |
`v2.27.1` -> `v2.27.2` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2furfave%2fcli%2fv2/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2furfave%2fcli%2fv2/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2furfave%2fcli%2fv2/v2.27.1/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2furfave%2fcli%2fv2/v2.27.1/v2.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/term | `v0.19.0` -> `v0.20.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fterm/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fterm/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.19.0/v0.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go)
| `v1.33.0` -> `v1.34.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.33.0/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.33.0/v1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charmbracelet/bubbletea
(github.com/charmbracelet/bubbletea)</summary>

###
[`v0.26.1`](https://togithub.com/charmbracelet/bubbletea/releases/tag/v0.26.1)

[Compare
Source](https://togithub.com/charmbracelet/bubbletea/compare/v0.26.0...v0.26.1)

This is a quick one to fix a Windows shortcoming in the last release
acutely identified by our pal
[@&#8203;jon4hz](https://togithub.com/jon4hz). Thank you!

#### What's Changed

- fix: support more shift and ctrl modifiers on windows by
[@&#8203;jon4hz](https://togithub.com/jon4hz) in
[https://github.com/charmbracelet/bubbletea/pull/995](https://togithub.com/charmbracelet/bubbletea/pull/995)

**Full Changelog**:
charmbracelet/bubbletea@v0.26.0...v0.26.1

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

###
[`v0.26.0`](https://togithub.com/charmbracelet/bubbletea/releases/tag/v0.26.0)

[Compare
Source](https://togithub.com/charmbracelet/bubbletea/compare/v0.25.0...v0.26.0)

### Bracketed Paste, Windows Improvements, Mainframes, and more

What do tapioca balls, IBM mainframes, and the Microsoft Windows Console
API have in common? Bubble Tea v0.26.0, that’s what. Let’s get to it.

#### ⚡️ Windows Input Improvements

A few years ago [@&#8203;erikgeiser](https://togithub.com/erikgeiser), a
penetration tester and ex-particle physicist, wrote this awesome library
called [coninput](https://togithub.com/erikgeiser/coninput) to majorly
improve Bubble Tea input on Windows.
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) has
implemented the library in Bubble Tea and input on Windows is roughly
1000 times better now. In the short term, this means that for Windows
users inputting non-Latin characters (like Greek, Cyrillic, Korean,
Chinese and so on) stuff will “just work.”

The bigger news, however, is that this paves the way for Windows parity
with our forthcoming support for super high fidelity input via [Kitty
Keyboard](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) and
[Fixterms](https://www.leonerd.org.uk/hacks/fixterms/).

#### 🍳 Hot Windows Resize Events

Terminal emulators on Windows don’t support the `SIGWINCH` signal, which
is sent when the terminal is resized. It’s been a huge bummer for a
really long time. Thanks (again) to
[@&#8203;erikgeiser](https://togithub.com/erikgeiser) and
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas), we’re now
able to reach deep into Windows’ underpinnings, detect window resizes,
and send
[`tea.WindowSizeMsg`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#WindowSizeMsg)s
accordingly! This is a glorious moment for Bubble Tea on Windows indeed.

#### 🫠 Bracketed Paste

While building a query editor for a CockroachDB client,
[@&#8203;knz](https://togithub.com/knz) noticed that Bubble Tea didn't
support [Bracketed Paste](https://cirw.in/blog/bracketed-paste).
Performance-wise, that sucks because it means pasting large bodies of
text (like SQL queries) will normally be seen as a bunch of little
successive keypresses. That’s where Bracketed Paste comes in. When
enabled at the terminal-level Bracketed Paste lets you slam down a bunch
of text with one big, fat input event.

Bubble Tea enables bracketed paste by default, however you can opt out
of it with the
[`WithoutBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#WithoutBracketedPaste)
program option:

```go
p := tea.NewProgram(myCuteModel, tea.WithoutBracketedPaste())
```

You can also enable and disable it on demand with the
[`EnableBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#EnableBracketedPaste)
and
[`DisableBracketedPaste()`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#DisableBracketedPaste)
commands.

#### 🌿 Multiline `tea.Println`

In case you forgot,
[`tea.Println`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#Println)
(and it’s brother
[`tea.Printf`](https://pkg.go.dev/github.com/charmbracelet/[email protected]#Printf))
is a `Cmd` that lets you print unmanaged output above a Bubble Tea
program, similar to what you see with package managers like `apt-get`.
Thanks to
[@&#8203;Adjective-Object](https://togithub.com/Adjective-Object) (who
also implemented `tea.Println` in the first place) now you can send
multi-line output, too. For a `tea.Println` refresher see [the package
manager
example](https://togithub.com/charmbracelet/bubbletea/tree/master/examples/package-manager).

#### 📀 Hello, z/OS

Don’t you think it’s about time we all ran Bubble Tea apps on our
mainframes? Thanks to
[@&#8203;dustin-ward](https://togithub.com/dustin-ward) that dream is
now a reality, so long as you have a
[z/OS](https://www.ibm.com/products/zos) mainframe. We're thrilled to
announce that Bubble Tea is now fully supported on z/OS.

#### 🌹 Bug fixes

Bugfixes are the unsung heroes that sometimes get buried below the
feature listings. This release has them and they’re good ones; see the
changelog below for details.

#### Changelog

##### New!

- bracketed paste by [@&#8203;knz](https://togithub.com/knz) in
[https://github.com/charmbracelet/bubbletea/pull/397](https://togithub.com/charmbracelet/bubbletea/pull/397)
- use windows console input buffer + resize events on windows by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[https://github.com/charmbracelet/bubbletea/pull/878](https://togithub.com/charmbracelet/bubbletea/pull/878)
- multiline `tea.Println()` messages by
[@&#8203;Adjective-Object](https://togithub.com/Adjective-Object) in
[https://github.com/charmbracelet/bubbletea/pull/490](https://togithub.com/charmbracelet/bubbletea/pull/490)
- z/OS support by
[@&#8203;dustin-ward](https://togithub.com/dustin-ward) in
[https://github.com/charmbracelet/bubbletea/pull/913](https://togithub.com/charmbracelet/bubbletea/pull/913)

##### Changed

- use go 1.18; update bubbles by
[@&#8203;caarlos0](https://togithub.com/caarlos0) in
[https://github.com/charmbracelet/bubbletea/pull/916](https://togithub.com/charmbracelet/bubbletea/pull/916)

##### Fixed

- fix deadlock condition on model init panic by
[@&#8203;eolso](https://togithub.com/eolso) in
[https://github.com/charmbracelet/bubbletea/pull/926](https://togithub.com/charmbracelet/bubbletea/pull/926)
- reduce console/term dependencies by
[@&#8203;aymanbagabas](https://togithub.com/aymanbagabas) in
[https://github.com/charmbracelet/bubbletea/pull/897](https://togithub.com/charmbracelet/bubbletea/pull/897)
- optimize batches with one item by
[@&#8203;systay](https://togithub.com/systay) in
[https://github.com/charmbracelet/bubbletea/pull/875](https://togithub.com/charmbracelet/bubbletea/pull/875)

##### New Contributors

- [@&#8203;kevgo](https://togithub.com/kevgo) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/893](https://togithub.com/charmbracelet/bubbletea/pull/893)
- [@&#8203;canack](https://togithub.com/canack) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/890](https://togithub.com/charmbracelet/bubbletea/pull/890)
- [@&#8203;Pheon-Dev](https://togithub.com/Pheon-Dev) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/621](https://togithub.com/charmbracelet/bubbletea/pull/621)
- [@&#8203;rusinikita](https://togithub.com/rusinikita) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/835](https://togithub.com/charmbracelet/bubbletea/pull/835)
- [@&#8203;hedhyw](https://togithub.com/hedhyw) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/864](https://togithub.com/charmbracelet/bubbletea/pull/864)
- [@&#8203;mat2cc](https://togithub.com/mat2cc) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/871](https://togithub.com/charmbracelet/bubbletea/pull/871)
- [@&#8203;stefanlogue](https://togithub.com/stefanlogue) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/855](https://togithub.com/charmbracelet/bubbletea/pull/855)
- [@&#8203;BigJk](https://togithub.com/BigJk) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/885](https://togithub.com/charmbracelet/bubbletea/pull/885)
- [@&#8203;sharunkumar](https://togithub.com/sharunkumar) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/839](https://togithub.com/charmbracelet/bubbletea/pull/839)
- [@&#8203;timmattison](https://togithub.com/timmattison) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/908](https://togithub.com/charmbracelet/bubbletea/pull/908)
- [@&#8203;dustin-ward](https://togithub.com/dustin-ward) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/913](https://togithub.com/charmbracelet/bubbletea/pull/913)
- [@&#8203;jaymorelli96](https://togithub.com/jaymorelli96) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/802](https://togithub.com/charmbracelet/bubbletea/pull/802)
- [@&#8203;siddhantac](https://togithub.com/siddhantac) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/906](https://togithub.com/charmbracelet/bubbletea/pull/906)
- [@&#8203;taigrr](https://togithub.com/taigrr) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/853](https://togithub.com/charmbracelet/bubbletea/pull/853)
- [@&#8203;systay](https://togithub.com/systay) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/875](https://togithub.com/charmbracelet/bubbletea/pull/875)
- [@&#8203;gabe565](https://togithub.com/gabe565) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/728](https://togithub.com/charmbracelet/bubbletea/pull/728)
- [@&#8203;zMoooooritz](https://togithub.com/zMoooooritz) made their
first contribution in
[https://github.com/charmbracelet/bubbletea/pull/902](https://togithub.com/charmbracelet/bubbletea/pull/902)
- [@&#8203;j178](https://togithub.com/j178) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/709](https://togithub.com/charmbracelet/bubbletea/pull/709)
- [@&#8203;arisnacg](https://togithub.com/arisnacg) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/948](https://togithub.com/charmbracelet/bubbletea/pull/948)
- [@&#8203;braheezy](https://togithub.com/braheezy) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/950](https://togithub.com/charmbracelet/bubbletea/pull/950)
- [@&#8203;dhth](https://togithub.com/dhth) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/949](https://togithub.com/charmbracelet/bubbletea/pull/949)
- [@&#8203;tearingItUp786](https://togithub.com/tearingItUp786) made
their first contribution in
[https://github.com/charmbracelet/bubbletea/pull/944](https://togithub.com/charmbracelet/bubbletea/pull/944)
- [@&#8203;aschey](https://togithub.com/aschey) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/597](https://togithub.com/charmbracelet/bubbletea/pull/597)
- [@&#8203;petergloor](https://togithub.com/petergloor) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/955](https://togithub.com/charmbracelet/bubbletea/pull/955)
- [@&#8203;kaifulee](https://togithub.com/kaifulee) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/957](https://togithub.com/charmbracelet/bubbletea/pull/957)
- [@&#8203;danenania](https://togithub.com/danenania) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/971](https://togithub.com/charmbracelet/bubbletea/pull/971)
- [@&#8203;cuibuwei](https://togithub.com/cuibuwei) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/977](https://togithub.com/charmbracelet/bubbletea/pull/977)
- [@&#8203;agvxov](https://togithub.com/agvxov) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/972](https://togithub.com/charmbracelet/bubbletea/pull/972)
- [@&#8203;eolso](https://togithub.com/eolso) made their first
contribution in
[https://github.com/charmbracelet/bubbletea/pull/926](https://togithub.com/charmbracelet/bubbletea/pull/926)

**Full Changelog**:
charmbracelet/bubbletea@v0.25.0...v0.25.1

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.social/@&#8203;charmcli), or
[Discord](https://charm.sh/chat).

</details>

<details>
<summary>gkampitakis/go-snaps
(github.com/gkampitakis/go-snaps)</summary>

###
[`v0.5.4`](https://togithub.com/gkampitakis/go-snaps/releases/tag/v0.5.4)

[Compare
Source](https://togithub.com/gkampitakis/go-snaps/compare/v0.5.3...v0.5.4)

#### What's Changed

- fix: slice bounds out of range \[:5] by
[@&#8203;zregvart](https://togithub.com/zregvart) in
[https://github.com/gkampitakis/go-snaps/pull/98](https://togithub.com/gkampitakis/go-snaps/pull/98)

#### New Contributors

- [@&#8203;zregvart](https://togithub.com/zregvart) made their first
contribution in
[https://github.com/gkampitakis/go-snaps/pull/98](https://togithub.com/gkampitakis/go-snaps/pull/98)

**Full Changelog**:
gkampitakis/go-snaps@v0.5.3...v0.5.4

</details>

<details>
<summary>jedib0t/go-pretty (github.com/jedib0t/go-pretty/v6)</summary>

###
[`v6.5.9`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.9)

[Compare
Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.8...v6.5.9)

#### What's Changed

- table: html row automerge support by
[@&#8203;hindessm](https://togithub.com/hindessm) in
[https://github.com/jedib0t/go-pretty/pull/319](https://togithub.com/jedib0t/go-pretty/pull/319)
- table: update note about auto-merge by
[@&#8203;hindessm](https://togithub.com/hindessm) in
[https://github.com/jedib0t/go-pretty/pull/320](https://togithub.com/jedib0t/go-pretty/pull/320)

#### New Contributors

- [@&#8203;hindessm](https://togithub.com/hindessm) made their first
contribution in
[https://github.com/jedib0t/go-pretty/pull/319](https://togithub.com/jedib0t/go-pretty/pull/319)

**Full Changelog**:
jedib0t/go-pretty@v6.5.8...v6.5.9

</details>

<details>
<summary>urfave/cli (github.com/urfave/cli/v2)</summary>

### [`v2.27.2`](https://togithub.com/urfave/cli/releases/tag/v2.27.2)

[Compare
Source](https://togithub.com/urfave/cli/compare/v2.27.1...v2.27.2)

#### What's Changed

- Cleanup: Remove unnecessary intermediate variables by
[@&#8203;1ambd4](https://togithub.com/1ambd4) in
[https://github.com/urfave/cli/pull/1857](https://togithub.com/urfave/cli/pull/1857)
- Docs:(issue\_1866) Fix documentation on filepath vs env preference by
[@&#8203;dearchap](https://togithub.com/dearchap) in
[https://github.com/urfave/cli/pull/1867](https://togithub.com/urfave/cli/pull/1867)
- Fix:(issue\_1860) Remove hidden flags from flag categories by
[@&#8203;dearchap](https://togithub.com/dearchap) in
[https://github.com/urfave/cli/pull/1868](https://togithub.com/urfave/cli/pull/1868)
- Fix repeated \[arguments...] in usage template in v2 by
[@&#8203;edeustua](https://togithub.com/edeustua) in
[https://github.com/urfave/cli/pull/1872](https://togithub.com/urfave/cli/pull/1872)
- Update dependencies, actions steps, and usage for v2-maint by
[@&#8203;meatballhat](https://togithub.com/meatballhat) in
[https://github.com/urfave/cli/pull/1888](https://togithub.com/urfave/cli/pull/1888)

#### New Contributors

- [@&#8203;1ambd4](https://togithub.com/1ambd4) made their first
contribution in
[https://github.com/urfave/cli/pull/1857](https://togithub.com/urfave/cli/pull/1857)
- [@&#8203;edeustua](https://togithub.com/edeustua) made their first
contribution in
[https://github.com/urfave/cli/pull/1872](https://togithub.com/urfave/cli/pull/1872)

**Full Changelog**:
urfave/cli@v2.27.1...v2.27.2

</details>

<details>
<summary>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>

###
[`v1.34.0`](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.33.0...v1.34.0)

[Compare
Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.33.0...v1.34.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on monday" in timezone
Australia/Sydney, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/google/osv-scanner).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM0MC4xMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants